package com.dong.thread.threadbasic;

/**
 * 优雅的结束线程 - suspend 和 resume方法
 * suspend暂停线程，resume继续执行线程
 * 这两个方法也废弃掉了
 * 为什么不建议使用suspend、resume：
 *      容易产生死锁或数据不一致的问题
 *      suspend时不会释放锁，若忘记了执行resume，就会一直等下去
 *
 * @author by jiweidong on 2021/11/22.
 */
public class T10_Thread_End_Suspend_Resume {

    public static void main(String[] args) {
        Thread t1 = new Thread(() -> {
            while (true) {
                System.out.println("go on");
                SleepHelper.sleepSeconds(1);
            }
        });

        t1.start();

        SleepHelper.sleepSeconds(5);

        t1.suspend();
        SleepHelper.sleepSeconds(3);
        t1.resume();
    }
}
